建议升级mp的jsqlparser版本,否则多个left join sql 在分页插件join优化时会一直报警告! · Issue #5159 · baomidou/mybatis 您所在的位置:网站首页 free mybatis plugin github 建议升级mp的jsqlparser版本,否则多个left join sql 在分页插件join优化时会一直报警告! · Issue #5159 · baomidou/mybatis

建议升级mp的jsqlparser版本,否则多个left join sql 在分页插件join优化时会一直报警告! · Issue #5159 · baomidou/mybatis

2023-03-07 01:34| 来源: 网络整理| 查看: 265

当前使用版本(必填,否则不予处理) com.baomidou mybatis-plus-boot-starter 3.5.3.1 该问题是如何引起的?(确定最新版也有问题再提!!!)

paginationInterceptor.setOptimizeJoin(true); 开启分页plugin的join优化后在对sql进行解析时: Select select = (Select) CCJSqlParserUtil.parse(sql); 当sql出现多个left join 时jsqlparser会报ParseException;而jsqlparser在4.6已经修复该问题 建议将mp中的jsqlparser依赖由4.4版本更换为4.6版本; 目前项目解决方案:

com.baomidou mybatis-plus-boot-starter 3.5.3.1

com.github.jsqlparser jsqlparser

com.github.jsqlparser jsqlparser 4.6

重现步骤(如果有就写完整)

String sql = "select *\n" + "from ees_user_info eui\n" + " left join ees_empl_info eee on eui.id = eee.user_id\n" + " left join user_role ur on eui.id = ur.user_id";

try { Select select = (Select) CCJSqlParserUtil.parse(sql); } catch (JSQLParserException e) { e.printStackTrace(); } 报错信息 net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "ur" at line 4, column 30. Was expecting one of: ";" "ACTION" "ACTIVE" "ALGORITHM" "ARCHIVE" "ARRAY" "AS" "AT" "BYTE" "CASCADE" "CASE" "CAST" "CHANGE" "CHAR" "CHARACTER" "CHECKPOINT" "COLUMN" "COLUMNS" "COMMENT" "COMMIT" "CONNECT" "COSTS" "CYCLE" "DBA_RECYCLEBIN" "DEFAULT" "DESC" "DESCRIBE" "DISABLE" "DISCONNECT" "DIV" "DO" "DUMP" "DUPLICATE" "EMIT" "ENABLE" "END" "EXCLUDE" "EXTRACT" "FALSE" "FILTER" "FIRST" "FLUSH" "FN" "FOLLOWING" "FORMAT" "FULLTEXT" "GROUP" "HAVING" "HISTORY" "INDEX" "INSERT" "INTERVAL" "ISNULL" "JSON" "KEY" "LAST" "LEADING" "LINK" "LOCAL" "LOG" "MATERIALIZED" "NO" "NOLOCK" "NULLS" "OF" "OPEN" "OVER" "PARALLEL" "PARTITION" "PATH" "PERCENT" "PIVOT" "PRECISION" "PRIMARY" "PRIOR" "QUERY" "QUIESCE" "RANGE" "READ" "RECYCLEBIN" "REGISTER" "REPLACE" "RESTRICTED" "RESUME" "ROW" "ROWS" "SCHEMA" "SEPARATOR" "SEQUENCE" "SESSION" "SHUTDOWN" "SIBLINGS" "SIGNED" "SIZE" "SKIP" "START" "SUSPEND" "SWITCH" "SYNONYM" "SYSTEM" "TABLE" "TABLESPACE" "TEMP" "TEMPORARY" "TIMEOUT" "TO" "TOP" "TRUE" "TRUNCATE" "TRY_CAST" "TYPE" "UNQIESCE" "UNSIGNED" "USER" "VALIDATE" "VALUE" "VALUES" "VIEW" "WINDOW" "XML" "ZONE" at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:190) at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:63) at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:38) at com.example.mytestproject.TestJsqlParser.main(TestJsqlParser.java:21) Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "ur" at line 4, column 30.


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有